package com.sniff.atp.modules.test.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 线上问题登记表
 * </p>
 *
 * @author macro
 * @since 2023-08-13
 */
@Getter
@Setter
@TableName("bug_register")
@ApiModel(value = "BugRegister对象", description = "线上问题登记表")
public class BugRegister implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("自增id")
    @TableId(value = "bug_id", type = IdType.AUTO)
    private Long bugId;

    @ApiModelProperty("类型，1：技术自查，2：业务反馈，3：数据监控，4：自动化跑出，5：其它")
    private String bugType;

    @ApiModelProperty("问题状态：1：待处理，2：已解决，3：转产品")
    private String bugStatus;

    @ApiModelProperty("问题描述")
    private String bugDescribe;

    @ApiModelProperty("问题原因")
    private String bugReason;

    @ApiModelProperty("问题跟进人")
    private String bugFlower;

    @ApiModelProperty("开发人员")
    private String developer;

    @ApiModelProperty("测试人员")
    private String tester;

    @ApiModelProperty("问题等级 P0-P5")
    private String bugLevel;

    @ApiModelProperty("所属应用，1：订单，2：采购，3：仓库，4：商品，5：结算，6：api，7：营销，8：会员，9：前端，10：其他")
    private String belongApplication;

    @ApiModelProperty("云校链接")
    private String yunxiaoLink;

    @ApiModelProperty("自动化是否覆盖，1：已覆盖，2：未覆盖，3：难以覆盖")
    private String autoCheckFlag;

    @ApiModelProperty("关联项目")
    private String linkProject;

    @ApiModelProperty("故障时间")
    private Date bugTime;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("更新时间")
    private Date updateTime;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("关联需求: true关联，false未关联")
    private boolean isDemand;

    @TableField(exist = false)
    private Date startTime;

    @TableField(exist = false)
    private Date endTime;


    @TableField(exist = false)
    private Integer pageSize;

    @TableField(exist = false)
    private Integer pageNum;
}
